Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / ci / github-slsa-hashes-apk-flatpak.sh

Displaying Raw • Download


scripts/ci/github-slsa-hashes-apk-flatpak.sh legacy/win7 (159b2358) Text, 1.26 KB

T8b949e#!/usr/bin/env bash
T8b949e# Emit base64-encoded sha256sum lines for *.apk, *.flatpak, and *.flatpakref under
T8b949e# given roots (SLSA generic generator input). Writes hashes= and has_subjects= to
T8b949e# GITHUB_OUTPUT when set.
Tffa657set -euo pipefail

Tff7b72if Tff7b72[ Ta5d6ff"Te6edf3$#Ta5d6ff" -lt T79c0ff1 Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffusage: Te6edf3$0Ta5d6ff <root> [root...]Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

Te6edf3rootsTff7b72=Tff7b72(Tff7b72)
Tff7b72for d Tff7b72in Ta5d6ff"Te6edf3$@Ta5d6ff"Tb4b4b4; Tff7b72do
Tff7b72[ -d Ta5d6ff"Te6edf3$dTa5d6ff" Tff7b72] Tff7b72&& Te6edf3rootsTff7b72+=Tff7b72(Ta5d6ff"Te6edf3$dTa5d6ff"Tff7b72)
Tff7b72done

write_emptyTff7b72(Tff7b72) Tff7b72{
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITHUB_OUTPUTTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72{
Tffa657echo Ta5d6ff"hashes="
Tffa657echo Ta5d6ff"has_subjects=false"
Tff7b72} >>Ta5d6ff"Te6edf3$GITHUB_OUTPUTTa5d6ff"
Tff7b72else
Tffa657printf Ta5d6ff'%s\n' Ta5d6ff""
Tff7b72fi
Tff7b72}

Tff7b72if Tff7b72[ Ta5d6ff"Tffd700${#Te6edf3rootsTb4b4b4[@]Tffd700}Ta5d6ff" -eq T79c0ff0 Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffNo existing directories in: Te6edf3$*Ta5d6ff (no APK/Flatpak subjects)Ta5d6ff" >Tb4b4b4&T79c0ff2
write_empty
Tffa657exit T79c0ff0
Tff7b72fi

Te6edf3tmpTff7b72=Ta5d6ff"Tff7b72$(mktempTff7b72)Ta5d6ff"
Tffa657trap Ta5d6ff'rm -f "$tmp"' EXIT

find Ta5d6ff"Tffd700${Te6edf3rootsTb4b4b4[@]Tffd700}Ta5d6ff" -type f Tffea00\( Tffea00\
-name Ta5d6ff'*.apk' -o -name Ta5d6ff'*.flatpak' -o -name Ta5d6ff'*.flatpakref' Tffea00\
Tffea00\) ! -path Ta5d6ff'*/.*' -print0 Tffea00\
Tb4b4b4| Te6edf3LC_ALLTff7b72=C sort -z Tffea00\
Tb4b4b4| xargs -0r sha256sum >Ta5d6ff"Te6edf3$tmpTa5d6ff"

Tff7b72if Tff7b72[ ! -s Ta5d6ff"Te6edf3$tmpTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffNo .apk / .flatpak / .flatpakref under: Tffd700${Te6edf3rootsTb4b4b4[*]Tffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
write_empty
Tffa657exit T79c0ff0
Tff7b72fi

Te6edf3b64Tff7b72=Ta5d6ff"Tff7b72$(base64 -w0 <Ta5d6ff"Te6edf3$tmpTa5d6ff"Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITHUB_OUTPUTTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72{
Tffa657echo Ta5d6ff"Ta5d6ffhashes=Tffd700${Te6edf3b64Tffd700}Ta5d6ff"
Tffa657echo Ta5d6ff"has_subjects=true"
Tff7b72} >>Ta5d6ff"Te6edf3$GITHUB_OUTPUTTa5d6ff"
Tff7b72else
Tffa657printf Ta5d6ff'%s\n' Ta5d6ff"Te6edf3$b64Ta5d6ff"
Tff7b72fi


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────